	package com.gopay.common.constants.fund;

/**
 * 基金支付订单状态 订单状态：00，已申请；01，对账中；02，对账失败；03，对账成功；04, 交易成功；05，交易失败；06，交易关闭；07，支付成功；08，支付失败
 * @author Jaosn
 */
public enum FundOrderTypeEnum {

	/**
	 * 已申请
	 */
	ALREADY_APPLIED("00","已申请"),
	/**
	 * 对账中
	 */
	RECONCILIATION("01","对账中"),
	/**
	 * 对账失败
	 */
	RECONCILIATION_FAIL("02","对账失败"),

    /**
     * 对账成功
     */
	RECONCILIATION_SUCC("03","对账成功"),
	/**
	 * 交易成功
	 */
	TRANSACTION_SUCCESS("04","交易成功"),
	/**
	 * 交易失败
	 */
	TRANSACTION__FAILURE("05","交易失败"),

	/**
	 * 交易关闭
	 */
	TRANSACTION__CLOSE("06","交易关闭"),

	/**
	 * 支付成功
	 */
	PAY_SUCCESS("07","支付成功"),

	/**
	 * 支付失败
	 */
	PAY_FAILURE("08","支付失败"),
	/**
	 * 成功
	 */
	FILE_GEN_SUCCESS("09","签约成功"),

//  	以下是快速赎回订单状态
	/**
	 * 快速赎回：基金公司未支付，02020用
	 */
	FASTPAY_UNPAY("40","基金公司未支付"),

	/**
	 * 快速赎回：基金公司支付处理中，02020用
	 */
	FASTPAY_DEAL("41","基金公司处理中"),

	/**
	 * 快速赎回：基金公司支付成功，02020用
	 */
	FASTPAY_SUCCESS("42","基金公司支付成功"),

	/**
	 * 快速赎回：基金公司支付失败，02020用
	 */
	FASTPAY_FAILURE("43","基金公司支付失败"),
	/**
	 * 快速赎回：对单失败，02020用
	 */
	FASTPAY_CHECK_ORDER_FAIL("44","快赎对单失败"),
	/**
	 * 银行已打款 ，备付金+，赎回账户+
	 */
	FASTPAY_DO_ACCT_FIRST("45","已对单")
	;

    public String value;
	public String des;

    FundOrderTypeEnum(String value, String des){
		this.value = value;
		this.des = des;
    }

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public String getDes() {
		return des;
	}

	public void setDes(String des) {
		this.des = des;
	}

	/**
	 * 通过编码获取值
	 * @author yhwpeng@126.com
	 * @date 2017-12-27 16:07:42
	 * @params
	 * @param code : 订单状态值
	 * @return java.lang.String
	 */
	public static String getDescByCode(String code){
		for (FundOrderTypeEnum fundOrderTypeEnum : FundOrderTypeEnum.values()) {
			if (code.equals(fundOrderTypeEnum.getValue())){
				return fundOrderTypeEnum.getDes();
			}
		}
		return "";
	}
}
